#ifndef PT_APPLICATION_EXPORT_H
#define PT_APPLICATION_EXPORT_H

#include "../PTCommon.h"
#include "PTACommon.h"

#include "../Window/PTWWindow.h"
#include "../System/PTSFile.h"

extern "C" PTAPPLICATIONAPI int PTCALL PTAMain(IPTWWindow *pWindow, int argc, char *argv[]);

//PTSystem Hook
extern "C" PTAPPLICATIONAPI IPTSFileSystem * PTCALL PTAFileSystem_Construct_Hook(PTSFileSystemStorage *pStorage);

inline IPTSFileSystem * PTCALL PTAFileSystem_Create_Hook(IPTSHeap *pHeap)
{
	PTSFileSystemStorage *pStorage = static_cast<PTSFileSystemStorage *>(pHeap->AlignedAlloc(sizeof(PTSFileSystemStorage), alignof(PTSFileSystemStorage)));
	return (pStorage != NULL) ? ::PTAFileSystem_Construct_Hook(pStorage) : NULL;
};

//PTAMemorySystem_Get_Hook

//PTATaskScheduler_Construct_Hook

#endif